package net.vmiranda.jeds.core.libretacontactos;

import java.util.List;

import javax.persistence.EntityManager;

import net.vmiranda.jeds.core.jpa.Jpa;
import net.vmiranda.jeds.utils.Cadena;

public class ContactosManager {
	
	public int numeroContactos(String filtro){
		return 42;//La respuesta a todo (arreglar,evidentemente)
	}

	public Contacto insertarContacto(Contacto c){
		EntityManager em = Jpa.getEm();
		em.getTransaction().begin();
		em.persist(c);
		
		em.getTransaction().commit();
		return c;
	}
	
	public List<Contacto> contactos(String filtro,String idUsuario,int start,int length){
		EntityManager em = Jpa.getEm();


		String str = "SELECT c FROM Contacto c WHERE c.idUsuario = :idUsuario";
		if(!Cadena.isEmpty(filtro)){
			str += " AND " +
					"(" +
					" c.nombreContacto LIKE '%"+filtro+"%'" +
					" OR " +
					" c.apellidosContacto LIKE '%"+filtro+"%'" +
					" OR " +
					" c.email LIKE '%"+filtro+"%'" +
					")";
		}
		
		return em.createQuery(str).setParameter("idUsuario",idUsuario ).
				setFirstResult(start).setMaxResults(length).getResultList();
	}

	
}
